package main

import "github.com/gin-gonic/gin"

func main() {
	server := gin.Default() //初始化一个Engine
	//路由注册 当一个http请求，用get方法访问的时候，如果访问路径是/gin
	//就执行这段代码
	//静态路由
	server.GET("/get", func(c *gin.Context) {
		c.String(200, "this is 静态路由")
	})
	//参数路由
	//ResTful风格
	//get /user/name  查询
	//delete /user/name 删除
	//put /user/name 注册
	//post /user/name  修改
	server.GET("/users/:name", func(c *gin.Context) {
		name := c.Param("name")
		c.String(200, "this is 参数路由 %s ", name)
	})
	//通配符匹配
	server.GET("/views/*.html", func(c *gin.Context) {
		path := c.Param(".html")
		c.String(200, "匹配上的值 %s", path)

	})
	server.GET("/select", func(cxt *gin.Context) {
		id := cxt.Query("id")
		cxt.String(200, "这是查询到的数据 %s", id)

	})

	go func() {
		server1 := gin.Default()
		server1.Run(":8081")
	}()
	server.POST("/post", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"name": "wangxinyu ",
			"age":  15,
		})
	})

	server.Run(":8080") //默认8080端口 :一定记住
	//启动失败最常见的原因就是端口失败了，这是一个端口占用的错误。
	//8080:bind:address already in use
	//阅读错误信息和错误日志是所有程序员的基本功能，不要害怕英文，你可以使用翻译软件，并且错误日志看多了，你看到关键字就能菜刀问题出现在哪里
}
